Solving Hard Disjunctive Logic Programs Faster (Sometimes)
نویسنده
چکیده
Disjunctive Logic Programming (DLP) under the consistent answer set semantics is an advanced formalism for knowledge representation and reasoning. It is, under widely believed assumptions, strictly more expressive than normal (disjunction-free) logic programming, whose expressiveness is limited to properties decidable in NP. However, this higher expressiveness comes at a computational cost, and while there are now several efficient systems for normal logic programming under the answer set semantics, we are only aware of two serious implementations for the full, disjunctive case. In this paper we investigate a novel technique to couple two main modules usually employed for the implementation of a DLP system more tightly: a model generator (which generates model candidates using a backtracking procedure) and a model checker (which verifies whether such a candidate indeed is an answer set). Instead of using the model checker only as a boolean oracle, in our approach, for every failed check, the model checker also returns a so-called unfounded set. Intuitively, this set provides a diagnosis why the model candidate is not an answer set, and the generator employs this knowledge to backtrack until the set is no longer unfounded, which is vastly more efficient than employing full-fledged model checks to control backtracking. We implemented this approach in DLV, the leading implementation of DLP according to recent comparisons, and experiments on hard benchmark instances indeed show a significant speedup.
منابع مشابه
Towards automated integration of guess and check programs in answer set programming: a meta-interpreter and applications
Answer set programming (ASP) with disjunction offers a powerful tool for declaratively representing and solving hard problems. Many NP-complete problems can be encoded in the answer set semantics of logic programs in a very concise and intuitive way, where the encoding reflects the typical “guess and check” nature of NP problems: The property is encoded in a way such that polynomial size certif...
متن کاملOf G Uess and C Heck P Rograms in a Nswer S Et P Rogramming : a M Eta - I Nterpreter and a Pplications
Answer set programming (ASP) with disjunction offers a powerful tool for declaratively representing and solving hard problems. Many NP-complete problems can be encoded in the answer set semantics of logic programs in a very concise and intuitive way, where the encoding reflects the typical “guess and check” nature of NP problems: The property is encoded in a way such that polynomial size certif...
متن کاملSolving Hard ASP Programs Efficiently
Recent research on answer set programming (ASP) systems, has mainly focused on solving NP problems more efficiently. Yet, disjunctive logic programs allow for expressing every problem in the complexity classes Σ 2 and Π P 2 . These classes are widely believed to be strictly larger than NP, and several important AI problems, like conformant and conditional planning, diagnosis and more are locate...
متن کاملThe DLV Java Wrapper
Disjunctive logic programs are a powerful tool in knowledge representation and commonsense reasoning. The recent development of an efficient disjunctive logic programming engine, named DLV, allows to exploit disjunctive logic programs for solving complex problems. However, disjunctive logic programming systems are currently missing any interface supporting the integration between commonly used ...
متن کاملSolving Hard Problems for the Second Level of the Polynomial Hierarchy: Heuristics and Benchmarks
Recent research on answer set programming (ASP) systems, has mainly focused on solving problems more efficiently. Yet, disjunctive logic programs allow for expressing every problem in the complexity classes and . These classes are widely believed to be strictly larger than , and several important AI problems, like conformant and conditional planning, diagnosis and more are located in these clas...
متن کامل